元交易
元交易是一种交易执行模式,用于让交易的签名者与实际提交交易的人可以分开操作,从而更灵活地控制交易流程。
在元交易模式下,链上钱包的执行者对交易进行签名,然后指定一个地址去提交交易。
被指定的提交者负责实际执行交易并支付交易手续费,而签名者无需承担链上手续费。
核心概念
元交易的核心在于:
- 交易由执行者完成签名授权
- 签名中明确指定允许执行该交易的地址
- 交易只能由被指定的地址提交并执行
- 交易手续费由被指定的地址支付
- 超过最后执行时间(签名时间+设定过期时间),链上程序不执行
签名原理
签名会基于**当前时间(以秒为单位)**以及交易的全部数据生成,包括:
- 传递地址
- 调用的程序
- 传递的参数
- 时间戳
- 被指定的地址执行的地址
所有这些信息会被哈希后进行签名,确保交易内容完整且不可篡改。
设计目的
引入元交易机制,主要解决以下问题:
- 降低操作风险
- 防止已签名交易被任意地址广播执行
- 执行权可控
- 明确限定谁可以执行交易,避免执行权被滥用
- 适配自动化与服务化场景
- 支持将执行权交由特定服务、机器人或后台系统
- 适配于用户执行
- 平台去签名,用户去执行交易,从而节省平台手续费支出
交易流程说明
元交易的基本流程如下:
- 执行者构建交易内容
- 执行者对交易进行签名
- 在签名中绑定允许执行的地址
- 被授权的执行地址提交交易上链
- 网络校验执行地址合法性
- 交易成功执行并结算手续费
与普通交易的区别
| 对比项 | 普通交易 | 元交易 |
|---|---|---|
| 签名者 | 执行者 | 执行者 |
| 提交者 | 执行者 | 仅限被授权地址 |
| 执行权限 | 执行者 | 严格绑定 |
| 手续费 | 执行者 | 仅限被授权地址(提交者) |
与风控系统的关系
- 元交易仍然完整经过风控系统
- 所有资产过滤器、风控规则、触发器依然生效
- 可与以下机制组合使用:
- 延迟交易
- 多签 / 审批交易
- 调用程序地址过滤器
- 参数风控规则
典型使用场景
- 空投发放
- 后台签名授权空投交易
- 用户自行提交并支付手续费领取资产
- 用户提款
- 后台授权提款额度与目标资产
- 用户执行提款交易并承担手续费
- 批量授权、用户逐笔执行
- 后台统一风控与签名
- 用户按需执行,减少后台链上操作压力
补充说明
- 元交易并不会改变交易本身的资产归属
- 仅对交易执行权限进行约束
- 执行地址一旦绑定,不可被替换